#define _CRT_SECURE_NO_WARNINGS
class Solution {
public:
    bool validateStackSequences(vector<int>& pushed, vector<int>& popped) {
        stack<int> st;
        int j = 0;
        for (auto e : pushed)
        {
            st.push(e);
            while (!st.empty() && popped[j] == st.top())
            {
                st.pop();
                j++;
            }
        }
        // for(int i = 0; i < pushed.size(); i++)
        // {
        //     while(!st.empty() && popped[j] == st.top()) 
        //     {
        //         st.pop();
        //         j++;
        //     }
        //     if(popped[j] != pushed[i]) st.push(pushed[i]);
        //     else
        //     {
        //         if(j < popped.size())
        //             j++;
        //     }
        // }
        // while(j < popped.size())
        // {
        //     if(popped[j] == st.top()) st.pop();
        //     else return false;
        //     j++;
        // }
        return j == popped.size();
    }
};